package com.test.jdk.streamApi;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class StreamTest01 {
    public static void main(String[] args) {
        //定义一个list集合
        List<String> strings = Arrays.asList("张三", "张三丰", "成龙", "周星驰");
        //定义需求： 获取所有姓张的，获取长度为3的用户
        //普通实现
        // 新的集合记录过滤后的信息
        List<String> list = new ArrayList<>();
        // 获取所有姓张的 获取长度为3的用户
        for (String s : strings) {
            if (s.startsWith("张") && s.length() == 3) {
                list.add(s);
            }
        }
        for (int i = 0; i < list.size(); i++) {
            System.out.println(list.get(i));
        }

        //stream实现方式
        //获取一个流
        List<String> strings2 = Arrays.asList("张三", "张三丰", "成龙", "周星驰");
        strings2.stream().filter(s -> s.startsWith("张")).filter(s -> s.length()==3).forEach(s -> System.out.println(s));
        //相当于
        strings2.stream().filter(s -> s.startsWith("张")).filter(s -> s.length()==3).forEach(System.out::println);
    }
}
